package com.hzw.saas.web.admin.hpc.param;

import java.util.Date;
import javax.validation.constraints.Future;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 *
 * </p>
 *
 * @author sonam
 * @since 2021/2/25 15:28
 */
@Data
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel("HPC账号绑定参数")
public class HpcAccountBoundParam {

    @NotBlank(message = "绑定的客户编号不能为空")
    @ApiModelProperty(value = "绑定客户编号")
    private String customerNo;

    @ApiModelProperty(value = "HPC总核时")
    private Double coreTime;

    @JsonFormat(pattern = "yyyy-MM-dd")
    @Future(message = "设置的日期必须大于当前时间")
    @NotNull(message = "过期日期不能为空")
    @ApiModelProperty(value = "过期时间")
    private Date expireTime;

    @ApiParam(defaultValue = "1")
    @ApiModelProperty(value = "是否能分享，默认可分享")
    private Integer canShare;

    @ApiParam(defaultValue = "0")
    @ApiModelProperty(value = "无限算力，默认有限-0")
    private Integer isInfinite;

    @NotBlank(message = "绑定的HPCID不能为空")
    @ApiModelProperty(value = "绑定的HPCID")
    private String hpcAccountId;

}
